package com.jic.market.service.rest.lottery;

import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.entity.LotteryAwards;
import com.jic.market.entity.LotteryDrawRecord;
import com.jic.market.request.manager.lottery.LotteryActivityRequest;
import com.jic.market.request.rest.lottery.LotteryActivityInfoRestRequest;
import com.jic.market.request.rest.lottery.LotteryReceiverRequest;
import com.jic.market.request.rest.lottery.WinningRecordsRestRequest;
import com.jic.market.response.rest.lottery.LotteryActivityInfoRestResponse;
import com.jic.market.response.rest.lottery.LotteryDrawRestResponse;
import com.jic.market.response.rest.lottery.LotteryWinningRecordsResponse;

import java.util.List;

/**
* 抽奖活动奖品关联表
* @author : 
* @email : 
* @since : 2020-03-03 03:05:46
* @version : v1.0.0
*/
public interface LotteryActivityInfoRestService {

    /**
     * 获取抽奖活动奖品信息
     * @param request
     * @return
     */
    LotteryActivityInfoRestResponse queryAwardsListByThemeCode(LotteryActivityInfoRestRequest request, int type);



    /**
     * 抽奖动作
     * @param request
     * @return
     */
    LotteryDrawRestResponse initiateLottery(LotteryActivityInfoRestRequest request);


    /**
     * 我的中奖记录
     * @param request
     * @return
     */
    PageResult<LotteryWinningRecordsResponse> getUserDrawRecordList(WinningRecordsRestRequest request, Page pageQuery);


    /**
     * 保存中奖地址
     * @param request
     * @return
     */
    RestResult<String> saveReceiverAddress(LotteryReceiverRequest request);


    LotteryDrawRestResponse drawLotteryByTemp(LotteryActivityInfoRestRequest request);

    /**
     * 获取抽奖活动奖品信息
     * @param request
     * @return
     */
    LotteryActivityInfoRestResponse lotteryInfoByTemp(LotteryActivityInfoRestRequest request);

}